I use ActiveRecord to migrate the changes to postgresql db. The schema name by default is "public". Where is the best way to rename this to "my-project-name".?
There is no such method in ActiveRecord::Migration to alter scheme name, but you able to use plain sql command.
First generate migration file:
$> bundle exec rails g migration RenameSchema
Then open it and add:
class RenameSchema < ActiveRecord::Migration
def up
execute "ALTER SCHEMA you_old_name RENAME TO you_new_name"
end
def down
execute "ALTER SCHEMA you_new_name RENAME TO you_old_name"
end
end
With that migration you can change name and rollback it back.
Note: You must own the schema to use ALTER SCHEMA. To rename a schema you must also have the CREATE privilege for the database.